Networks typically include elements, such as routers, switches or gateways, which transfer or switch data from one or more sources to one or more destinations. A packet is one format of data in which encapsulated data can be transmitted through a network. A network element, such as a router or a switch, may include service engines that process packets. When the network element receives a packet at an ingress interface, the network element may send the packet to one of its service engines to render specialized services for the packet (e.g., hypertext transfer protocol (HTTP) caching service, intrusion detection system (IDS) service, load balancing service, firewall service, etc.). Upon rendering the services, the network element may drop the packet or send the original or modified packet to another network element through an egress interface.
Some network elements may divide processing functions among a control plane, a forwarding plane, and a services plane, which allows for faster processing. Generally, the control plane may define what to do with incoming packets. The forwarding plane may implement routing instructions from the control plane to forward packets downstream as quickly as possible. The services plane may apply specialized network-based functions to the packets prior to the packets being forwarded. Thus, services plane traffic may be processed differently than traffic in the forwarding plane.